import { get, post, put, del } from '@/utils/request'

/**
 * 获取帖子列表
 * @param {Object} params - 查询参数
 * @returns {Promise}
 */
export function getPostList(params) {
  return get('/user/community/posts', params)
}

/**
 * 获取帖子详情
 * @param {number} id - 帖子ID
 * @returns {Promise}
 */
export function getPostDetail(id) {
  return get(`/user/community/posts/${id}`)
}

/**
 * 创建帖子
 * @param {Object} data - 帖子数据
 * @returns {Promise}
 */
export function createPost(data) {
  return post('/user/community/posts', data)
}

/**
 * 更新帖子
 * @param {number} id - 帖子ID
 * @param {Object} data - 帖子数据
 * @returns {Promise}
 */
export function updatePost(id, data) {
  return put(`/user/community/posts/${id}`, data)
}

/**
 * 删除帖子
 * @param {number} id - 帖子ID
 * @returns {Promise}
 */
export function deletePost(id) {
  return del(`/user/community/posts/${id}`)
}

/**
 * 点赞帖子
 * @param {number} id - 帖子ID
 * @returns {Promise}
 */
export function likePost(id) {
  return post(`/user/community/posts/${id}/like`)
}

/**
 * 取消点赞
 * @param {number} id - 帖子ID
 * @returns {Promise}
 */
export function unlikePost(id) {
  return post(`/user/community/posts/${id}/unlike`)
}

/**
 * 获取评论列表
 * @param {Object} params - 查询参数 {postId, pageNum, pageSize}
 * @returns {Promise}
 */
export function getCommentList(params) {
  return get('/user/community/comments', params)
}

/**
 * 发表评论
 * @param {Object} data - 评论数据
 * @returns {Promise}
 */
export function createComment(data) {
  return post('/user/community/comments', data)
}

/**
 * 回复评论
 * @param {Object} data - 回复数据
 * @returns {Promise}
 */
export function replyComment(data) {
  return post('/user/community/comments/reply', data)
}

/**
 * 删除评论
 * @param {number} id - 评论ID
 * @returns {Promise}
 */
export function deleteComment(id) {
  return del(`/user/community/comments/${id}`)
}

/**
 * 点赞评论
 * @param {number} id - 评论ID
 * @returns {Promise}
 */
export function likeComment(id) {
  return post(`/user/community/comments/${id}/like`)
}

/**
 * 取消点赞评论
 * @param {number} id - 评论ID
 * @returns {Promise}
 */
export function unlikeComment(id) {
  return post(`/user/community/comments/${id}/unlike`)
}